<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PDNSim: GMat Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">PDNSim
   </div>
   <div id="projectbrief">Power grid analysis</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">GMat Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>G matrix class.  
 <a href="classGMat.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="gmat_8h_source.html">gmat.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad89367522ad38208488689b4146b6bbc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#ad89367522ad38208488689b4146b6bbc">GMat</a> (int t_num_layers, int t_numC4)</td></tr>
<tr class="memdesc:ad89367522ad38208488689b4146b6bbc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for creating the G matrix.  <a href="#ad89367522ad38208488689b4146b6bbc">More...</a><br /></td></tr>
<tr class="separator:ad89367522ad38208488689b4146b6bbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb2bc57952d6046f91afac0bcb3a7243"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#aeb2bc57952d6046f91afac0bcb3a7243">~GMat</a> ()</td></tr>
<tr class="memdesc:aeb2bc57952d6046f91afac0bcb3a7243"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor of the G matrix.  <a href="#aeb2bc57952d6046f91afac0bcb3a7243">More...</a><br /></td></tr>
<tr class="separator:aeb2bc57952d6046f91afac0bcb3a7243"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48cc4288be2ae357591bab12339e0114"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classNode.html">Node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#a48cc4288be2ae357591bab12339e0114">GetNode</a> (<a class="el" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a> t_node)</td></tr>
<tr class="memdesc:a48cc4288be2ae357591bab12339e0114"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to return a pointer to the node with a index.  <a href="#a48cc4288be2ae357591bab12339e0114">More...</a><br /></td></tr>
<tr class="separator:a48cc4288be2ae357591bab12339e0114"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54844be32da6280169a0f8ee08283d5a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classNode.html">Node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#a54844be32da6280169a0f8ee08283d5a">GetNode</a> (int t_x, int t_y, int t_l)</td></tr>
<tr class="memdesc:a54844be32da6280169a0f8ee08283d5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to return a pointer to the node with the x, y, and layer number.  <a href="#a54844be32da6280169a0f8ee08283d5a">More...</a><br /></td></tr>
<tr class="separator:a54844be32da6280169a0f8ee08283d5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96d512b19a257d2361eac59dacee218d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#a96d512b19a257d2361eac59dacee218d">SetNode</a> (<a class="el" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a> t_node_loc, <a class="el" href="classNode.html">Node</a> *t_node)</td></tr>
<tr class="memdesc:a96d512b19a257d2361eac59dacee218d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to set attributes of the node with index and node pointer.  <a href="#a96d512b19a257d2361eac59dacee218d">More...</a><br /></td></tr>
<tr class="separator:a96d512b19a257d2361eac59dacee218d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6edc525006b72ebcd8b9cfbbec60e9ae"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classNode.html">Node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#a6edc525006b72ebcd8b9cfbbec60e9ae">SetNode</a> (int t_x, int t_y, int t_layer, <a class="el" href="node_8h.html#acf0ff4a0bb7e0c9b5900382cbd2aa614">BBox</a> t_bBox)</td></tr>
<tr class="memdesc:a6edc525006b72ebcd8b9cfbbec60e9ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to create a node.  <a href="#a6edc525006b72ebcd8b9cfbbec60e9ae">More...</a><br /></td></tr>
<tr class="separator:a6edc525006b72ebcd8b9cfbbec60e9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab1c09d83c7ad0b0b16d1c8059f1220b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#aab1c09d83c7ad0b0b16d1c8059f1220b">InsertNode</a> (<a class="el" href="classNode.html">Node</a> *t_node)</td></tr>
<tr class="memdesc:aab1c09d83c7ad0b0b16d1c8059f1220b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to insert a node into the matrix.  <a href="#aab1c09d83c7ad0b0b16d1c8059f1220b">More...</a><br /></td></tr>
<tr class="separator:aab1c09d83c7ad0b0b16d1c8059f1220b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a890e83e8d1d373e3858bd213b76c2da9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#a890e83e8d1d373e3858bd213b76c2da9">Print</a> ()</td></tr>
<tr class="memdesc:a890e83e8d1d373e3858bd213b76c2da9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that prints the G matrix for debug purposes.  <a href="#a890e83e8d1d373e3858bd213b76c2da9">More...</a><br /></td></tr>
<tr class="separator:a890e83e8d1d373e3858bd213b76c2da9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1981ec0047b10ef19b2e4734921a5452"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#a1981ec0047b10ef19b2e4734921a5452">SetConductance</a> (<a class="el" href="classNode.html">Node</a> *t_node1, <a class="el" href="classNode.html">Node</a> *t_node2, double t_cond)</td></tr>
<tr class="memdesc:a1981ec0047b10ef19b2e4734921a5452"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to add the conductance value between two nodes.  <a href="#a1981ec0047b10ef19b2e4734921a5452">More...</a><br /></td></tr>
<tr class="separator:a1981ec0047b10ef19b2e4734921a5452"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3e602af5a1537611ec1a8bfd798b688"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#ab3e602af5a1537611ec1a8bfd798b688">InitializeGmatDok</a> ()</td></tr>
<tr class="memdesc:ab3e602af5a1537611ec1a8bfd798b688"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to initialize the sparse dok matrix.  <a href="#ab3e602af5a1537611ec1a8bfd798b688">More...</a><br /></td></tr>
<tr class="separator:ab3e602af5a1537611ec1a8bfd798b688"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0f8d64bc65172c457d7d1d4a2156b79"><td class="memItemLeft" align="right" valign="top"><a class="el" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#aa0f8d64bc65172c457d7d1d4a2156b79">GetNumNodes</a> ()</td></tr>
<tr class="memdesc:aa0f8d64bc65172c457d7d1d4a2156b79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function that returns the number of nodes in the G matrix.  <a href="#aa0f8d64bc65172c457d7d1d4a2156b79">More...</a><br /></td></tr>
<tr class="separator:aa0f8d64bc65172c457d7d1d4a2156b79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a907a945858399a70cc5b77952b81d25a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structCscMatrix.html">CscMatrix</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#a907a945858399a70cc5b77952b81d25a">GetGMat</a> ()</td></tr>
<tr class="memdesc:a907a945858399a70cc5b77952b81d25a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to return a pointer to the G matrix.  <a href="#a907a945858399a70cc5b77952b81d25a">More...</a><br /></td></tr>
<tr class="separator:a907a945858399a70cc5b77952b81d25a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d8697945b060deaaf4bbd3a444aab6f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#a0d8697945b060deaaf4bbd3a444aab6f">GenerateStripeConductance</a> (int t_l, odb::dbTechLayerDir::Value layer_dir, int t_x_min, int t_x_max, int t_y_min, int t_y_max, double t_rho)</td></tr>
<tr class="memdesc:a0d8697945b060deaaf4bbd3a444aab6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to get the conductance of the strip of the power grid.  <a href="#a0d8697945b060deaaf4bbd3a444aab6f">More...</a><br /></td></tr>
<tr class="separator:a0d8697945b060deaaf4bbd3a444aab6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a21ee1650f436e769255235d3b2fe8aa8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#a21ee1650f436e769255235d3b2fe8aa8">AddC4Bump</a> (int t_loc, int t_C4Num)</td></tr>
<tr class="memdesc:a21ee1650f436e769255235d3b2fe8aa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to add the voltage source based on C4 bump location.  <a href="#a21ee1650f436e769255235d3b2fe8aa8">More...</a><br /></td></tr>
<tr class="separator:a21ee1650f436e769255235d3b2fe8aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc6b68783732ff34b6dd4098cb738836"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#acc6b68783732ff34b6dd4098cb738836">GenerateCSCMatrix</a> ()</td></tr>
<tr class="memdesc:acc6b68783732ff34b6dd4098cb738836"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function which generates the compressed sparse column matrix.  <a href="#acc6b68783732ff34b6dd4098cb738836">More...</a><br /></td></tr>
<tr class="separator:acc6b68783732ff34b6dd4098cb738836"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bc88ff1d3a55795024e814de8c69617"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classNode.html">Node</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classGMat.html#a9bc88ff1d3a55795024e814de8c69617">GetAllNodes</a> ()</td></tr>
<tr class="memdesc:a9bc88ff1d3a55795024e814de8c69617"><td class="mdescLeft">&#160;</td><td class="mdescRight">Function to return a vector which contains a pointer to all the nodes.  <a href="#a9bc88ff1d3a55795024e814de8c69617">More...</a><br /></td></tr>
<tr class="separator:a9bc88ff1d3a55795024e814de8c69617"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>G matrix class. </p>
<p>Class to store the G matrix. Contains the member functions for all node related operations. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ad89367522ad38208488689b4146b6bbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad89367522ad38208488689b4146b6bbc">&#9670;&nbsp;</a></span>GMat()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">GMat::GMat </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_num_layers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_numC4</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor for creating the G matrix. </p>

</div>
</div>
<a id="aeb2bc57952d6046f91afac0bcb3a7243"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeb2bc57952d6046f91afac0bcb3a7243">&#9670;&nbsp;</a></span>~GMat()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">GMat::~GMat </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor of the G matrix. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a21ee1650f436e769255235d3b2fe8aa8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21ee1650f436e769255235d3b2fe8aa8">&#9670;&nbsp;</a></span>AddC4Bump()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GMat::AddC4Bump </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_C4Num</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to add the voltage source based on C4 bump location. </p>
<p>Function which add the values in the G matrix for the.</p>
<p>Directly updates the G matrix </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t_loc</td><td>Location of the C4 bump </td></tr>
    <tr><td class="paramname">t_C4Num</td><td>C4 bump number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>nothing </dd></dl>

</div>
</div>
<a id="acc6b68783732ff34b6dd4098cb738836"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc6b68783732ff34b6dd4098cb738836">&#9670;&nbsp;</a></span>GenerateCSCMatrix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GMat::GenerateCSCMatrix </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function which generates the compressed sparse column matrix. </p>
<p>Function which converts the DOK matrix into CSC format in a sparse method. </p>

</div>
</div>
<a id="a0d8697945b060deaaf4bbd3a444aab6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d8697945b060deaaf4bbd3a444aab6f">&#9670;&nbsp;</a></span>GenerateStripeConductance()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GMat::GenerateStripeConductance </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_l</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">odb::dbTechLayerDir::Value&#160;</td>
          <td class="paramname"><em>layer_dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_x_min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_x_max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_y_min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_y_max</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>t_rho</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to get the conductance of the strip of the power grid. </p>
<p>Function that gets the value of the conductance of the stripe and.</p>
<p>Directly updates the G matrix </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t_l</td><td>Layer number </td></tr>
    <tr><td class="paramname">layer_dir</td><td>Direction of the layer </td></tr>
    <tr><td class="paramname">t_x_min</td><td>Lower left x location </td></tr>
    <tr><td class="paramname">t_x_max</td><td>Upper right x location </td></tr>
    <tr><td class="paramname">t_y_min</td><td>Lower left y location </td></tr>
    <tr><td class="paramname">t_y_max</td><td>Upper right y location </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>nothing </dd></dl>

</div>
</div>
<a id="a9bc88ff1d3a55795024e814de8c69617"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bc88ff1d3a55795024e814de8c69617">&#9670;&nbsp;</a></span>GetAllNodes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="classNode.html">Node</a> * &gt; GMat::GetAllNodes </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to return a vector which contains a pointer to all the nodes. </p>
<p>Function to return a vector which contains pointers to all nodes. </p>

</div>
</div>
<a id="a907a945858399a70cc5b77952b81d25a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a907a945858399a70cc5b77952b81d25a">&#9670;&nbsp;</a></span>GetGMat()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structCscMatrix.html">CscMatrix</a> * GMat::GetGMat </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to return a pointer to the G matrix. </p>
<p>Function to return a pointer to the G matrix in CSC format. </p>

</div>
</div>
<a id="a48cc4288be2ae357591bab12339e0114"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48cc4288be2ae357591bab12339e0114">&#9670;&nbsp;</a></span>GetNode() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classNode.html">Node</a> * GMat::GetNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a>&#160;</td>
          <td class="paramname"><em>t_node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to return a pointer to the node with a index. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t_node</td><td><a class="el" href="classNode.html" title="Node class which stores the properties of the node of the PDN. ">Node</a> index number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the node in the matrix </dd></dl>

</div>
</div>
<a id="a54844be32da6280169a0f8ee08283d5a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54844be32da6280169a0f8ee08283d5a">&#9670;&nbsp;</a></span>GetNode() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classNode.html">Node</a> * GMat::GetNode </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_l</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to return a pointer to the node with the x, y, and layer number. </p>
<p>Function to return a pointer to the node with a index.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t_x</td><td>x location coordinate </td></tr>
    <tr><td class="paramname">t_y</td><td>y location coordinate </td></tr>
    <tr><td class="paramname">t_l</td><td>layer number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the node in the matrix </dd></dl>

</div>
</div>
<a id="aa0f8d64bc65172c457d7d1d4a2156b79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0f8d64bc65172c457d7d1d4a2156b79">&#9670;&nbsp;</a></span>GetNumNodes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a> GMat::GetNumNodes </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function that returns the number of nodes in the G matrix. </p>

</div>
</div>
<a id="ab3e602af5a1537611ec1a8bfd798b688"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab3e602af5a1537611ec1a8bfd798b688">&#9670;&nbsp;</a></span>InitializeGmatDok()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GMat::InitializeGmatDok </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to initialize the sparse dok matrix. </p>
<p>Function to initialize the Dictionary of keys (DOK) matrix.</p>
<p>Based on the size of the G matrix initialize the number of rows and columns </p>

</div>
</div>
<a id="aab1c09d83c7ad0b0b16d1c8059f1220b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab1c09d83c7ad0b0b16d1c8059f1220b">&#9670;&nbsp;</a></span>InsertNode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GMat::InsertNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classNode.html">Node</a> *&#160;</td>
          <td class="paramname"><em>t_node</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to insert a node into the matrix. </p>
<p>Function to add a node to the matrix.</p>
<p>Directly updates the G node vector </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t_node</td><td>Location to insert the node </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>nothing </dd></dl>

</div>
</div>
<a id="a890e83e8d1d373e3858bd213b76c2da9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a890e83e8d1d373e3858bd213b76c2da9">&#9670;&nbsp;</a></span>Print()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GMat::Print </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function that prints the G matrix for debug purposes. </p>
<p>Function to print the G matrix. </p>

</div>
</div>
<a id="a1981ec0047b10ef19b2e4734921a5452"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1981ec0047b10ef19b2e4734921a5452">&#9670;&nbsp;</a></span>SetConductance()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GMat::SetConductance </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classNode.html">Node</a> *&#160;</td>
          <td class="paramname"><em>t_node1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classNode.html">Node</a> *&#160;</td>
          <td class="paramname"><em>t_node2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>t_cond</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to add the conductance value between two nodes. </p>
<p>Function to set conductance values in the G matrix.</p>
<p>Directly updates the G matrix </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t_node1</td><td><a class="el" href="classNode.html" title="Node class which stores the properties of the node of the PDN. ">Node</a> pointer 1 </td></tr>
    <tr><td class="paramname">t_node2</td><td><a class="el" href="classNode.html" title="Node class which stores the properties of the node of the PDN. ">Node</a> pointer 2 </td></tr>
    <tr><td class="paramname">t_cond</td><td>conductance value to be added between node 1 and 2 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>nothing </dd></dl>

</div>
</div>
<a id="a96d512b19a257d2361eac59dacee218d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96d512b19a257d2361eac59dacee218d">&#9670;&nbsp;</a></span>SetNode() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void GMat::SetNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="node_8h.html#a5b622fe4354316a2f349615d150ae998">NodeIdx</a>&#160;</td>
          <td class="paramname"><em>t_node_loc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classNode.html">Node</a> *&#160;</td>
          <td class="paramname"><em>t_node</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to set attributes of the node with index and node pointer. </p>
<p>Function to add a node to the matrix.</p>
<p>Directly updates the G matrix </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t_node</td><td><a class="el" href="classNode.html" title="Node class which stores the properties of the node of the PDN. ">Node</a> index </td></tr>
    <tr><td class="paramname">t_node</td><td><a class="el" href="classNode.html" title="Node class which stores the properties of the node of the PDN. ">Node</a> pointer </td></tr>
    <tr><td class="paramname">t_l</td><td>layer number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>nothing </dd></dl>

</div>
</div>
<a id="a6edc525006b72ebcd8b9cfbbec60e9ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6edc525006b72ebcd8b9cfbbec60e9ae">&#9670;&nbsp;</a></span>SetNode() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classNode.html">Node</a> * GMat::SetNode </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>t_layer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="node_8h.html#acf0ff4a0bb7e0c9b5900382cbd2aa614">BBox</a>&#160;</td>
          <td class="paramname"><em>t_bBox</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Function to create a node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">t_x</td><td><a class="el" href="classNode.html" title="Node class which stores the properties of the node of the PDN. ">Node</a> index </td></tr>
    <tr><td class="paramname">t_y</td><td><a class="el" href="classNode.html" title="Node class which stores the properties of the node of the PDN. ">Node</a> pointer </td></tr>
    <tr><td class="paramname">t_l</td><td>layer number </td></tr>
    <tr><td class="paramname">t_bBox</td><td>layer number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the created node </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>src/<a class="el" href="gmat_8h_source.html">gmat.h</a></li>
<li>src/<a class="el" href="gmat_8cpp.html">gmat.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>
